$(function () {
  // 思路： 将所有请求 公共的地方 抽离出来
  // 这个jquery函数的执行时机，是在 每次发请求之前就会执行
  // 这个函数相当于所有请求的一个拦截器， 所有页面的请求发送之后，就会经过这个函数
  $.ajaxPrefilter((options) => {
    // 回调的形参可以起任意的名称，一般为了好记，才使用的options
    console.log(options);
    options.url = 'http://www.liulongbin.top:3007' + options.url;
    // 将我们写在每个页面的请求头，放在公共的地方，统一管理，这样就是代码的优化，减少的代码量
    // 如果将公共的代码抽离出来以后， 公共的部分 在 发请求的时候就可以不用写了，只在这里一个地方写
    if (options.url.includes('/my/')) {
      options.headers = {
        Authorization: localStorage.getItem('bigToken') || '',
      };
      options.complete = function (res) {
        // 针对服务器返回数据失败的场景，如果后台服务器返回数据失败
        // 那么res里面是没有responseJSON这个对象
        // 这个时候res.responseJSON 就是undeinfed
        if (
          res.responseJSON &&
          res.responseJSON.status === 1 &&
          res.responseJSON.message === '身份认证失败！'
        ) {
          // 如果进入了这个if语句，就证明用户没有token值，或者说过期了；那么这种情况就是用户没有权限访问内部的所有页面； 应该强行给他跳转回登录页面，让他登录
          location.href = '/login.html';
        }
      };
    }
  });
});
